home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / dev / c / libiconv_src.lha / src / ucs4le.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-11-07  |  540 b   |  27 lines

  1. /*
  2.  * UCS-4LE = UCS-4 little endian
  3.  */
  4.  
  5. static int
  6. ucs4le_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
  7. {
  8.   if (n >= 4) {
  9.     *pwc = s[0] + (s[1] << 8) + (s[2] << 16) + (s[3] << 24);
  10.     return 4;
  11.   }
  12.   return RET_TOOFEW(0);
  13. }
  14.  
  15. static int
  16. ucs4le_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
  17. {
  18.   if (n >= 4) {
  19.     r[0] = (unsigned char) wc;
  20.     r[1] = (unsigned char) (wc >> 8);
  21.     r[2] = (unsigned char) (wc >> 16);
  22.     r[3] = (unsigned char) (wc >> 24);
  23.     return 4;
  24.   } else
  25.     return RET_TOOSMALL;
  26. }
  27.